Do they Really Smell Bad? A Study on Developers’ Perception of Code Bad Smells
نویسندگان
چکیده
In the last decade several catalogues have been defined to characterize code bad smells, i.e., symptoms of poor design and implementation choices. On top of such catalogues, researchers have defined methods and tools to automatically detect and/or remove bad smells. Nevertheless, there is an ongoing debate regarding the extent to which developers perceive bad smells as serious design problems. Indeed, there seems to be a gap between theory and practice, i.e., what is believed to be a problem (theory) and what is actually a problem (practice). This paper presents a study aimed at providing empirical evidence on how developers perceive bad smells. In this study, we showed to developers code entities—belonging to three systems— affected and not by bad smells, and we asked them to indicate whether the code contains a potential design problem, and if any, the nature and severity of the problem. The study involved both original developers from the three projects and outsiders, namely industrial developers and Master students. The results provide insights on characteristics of bad smells not yet explored sufficiently. Also, our findings could guide future research on approaches for the detection and removal of bad smells.
منابع مشابه
Bad Smells in Software – a Taxonomy and an Empirical Study
In this work, the bad code smells are studied empirically and their relationship to source code metrics is evaluated. This work also presents an initial taxonomy for the bad code smell, which improves their understandability and feasibility The bad code smells, presented by Martin Fowler and Kent Beck, are dissatisfactory structures in the source code of software that decrease software quality ...
متن کاملA Validation of Refactorings Impact on Maintainability: A Case Study
Software refactorings are used commonly to fix problems such as the code smells. In this case study, we use a quality model to subjectively validate the consequences of resolving bad smells on software maintainability. The model is used to help software developers in their endeavor to improve software quality. This model can be used to search for the best alternative refactorings that can lead ...
متن کاملDetecting Bad Smells in Haskell
A bad smell in Haskell code is an inefficiency or error that runs contrary to established good practice and coding conventions. This project centres on the development of a tool to detect bad smells commonly introduced into Haskell programs by 1 year Computer Science students. This paper outlines the motivations, and introduces the technical background and implementation of the tool along and d...
متن کاملDetecting Bad Smells in Object Oriented Design Using Design Change Propagation Probability Matrix
-Object oriented software systems are subject to frequent modifications either during development (iterative, agile software development) or software evolution. For such systems which have large number of classes, detection of design defects is a complex task. Bad smells are used to identify design defects in object oriented software design. Identification of bad smells allows us to apply appro...
متن کاملMulti-step Automated Refactoring for Code Smell
In computer programming, code smell may origin of latent problems in source code. Detecting and resolving bad smells remain time intense for software engineers despite proposals on bad smell detecting and refactoring tools. Numerous code smells have been recognized yet the sequence in which the detection and resolution of different kinds of code smells are performed because software engineers d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014